# 第一阶段：构建阶段
FROM docker.1ms.run/library/maven:3.8.6 AS builder

# 设置工作目录
WORKDIR /app

# 1. 单独复制 pom.xml 并下载依赖（利用缓存）
COPY pom.xml .
RUN mvn dependency:go-offline -DskipTests  # 依赖已通过阿里云镜像加速

# 2. 复制代码并编译
COPY src ./src
RUN mvn clean package -DskipTests


# 第二阶段：运行阶段
FROM docker.1ms.run/library/openjdk:17-jdk-slim

# 设置工作目录
WORKDIR /app

# 从构建阶段复制生成的 JAR 文件
COPY --from=builder /app/target/*.jar app.jar

# 暴露端口
EXPOSE 8080

# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]